import Vue from 'vue'
import VueRouter from 'vue-router'
// 引入login组件页面
import Login from '../components/login.vue'
import Home from '../components/home.vue'

Vue.use(VueRouter)

const routes = [
  // 设置路由
  { path: '/', redirect: '/login' },
  { path: '/login', component: Login },
  { path: '/home', component: Home }
]

const router = new VueRouter({
  routes
})
// 挂载路由导航守卫
router.beforeEach((to, from, next) => {
  // to 将要访问的路径；from 从哪个路径跳转来的；next 是一个函数，next() 代表是否放行，next('/login') 强制跳转
  // 先判断用户是不是访问登录页，可直接放行
  if (to.path === '/login') return next()
  // 不是登录页就要进行验证；先获取token
  const tokenStr = window.sessionStorage.getItem('token')
  // 判断 token 是否存在，不存在，则跳转登录页
  if (!tokenStr) return next('/login')
  // token 存在，直接放行
  next()
})

export default router
